﻿Imports System.Windows.Forms
Imports Capa_de_Acceso_a_Datos

Public Class frmAgregarEntrega
    Private CronogramaPresentacionId As Integer
    Private EntregaId As Integer
    Private modificar As Boolean
    Public titulo As String = "Agregar Entrega"

    Private Sub frmAgregarEntrega_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        CargarComboNumeroEntrega()
    End Sub

    Private Sub CargarComboNumeroEntrega()
        'Como Nro. Entregas
        cboNroEntrega.DataSource = Constante.comboNumeroEntrega
        cboNroEntrega.DisplayMember = "EntregaNumero"
        cboNroEntrega.ValueMember = "EntregaNumeroId"
        cboNroEntrega.SelectedIndex = 0
    End Sub

    Public Sub cargarEntregaModificar(ByVal EntregaNumero As Integer, ByVal EntregaFechaLimite As Date, ByVal cronogramaId As Integer, ByVal idEntrega As Integer)
        'Opción para modificar una entrega
        cboNroEntrega.SelectedValue = EntregaNumero
        dtpFechaLimite.Value = EntregaFechaLimite
        CronogramaPresentacionId = cronogramaId
        EntregaId = idEntrega

        cboNroEntrega.Enabled = False
        modificar = True
    End Sub

    Public Sub cargarEntregaAgregar(ByVal cronogramaId As Integer)
        CronogramaPresentacionId = cronogramaId

        cboNroEntrega.Enabled = True
        modificar = False
    End Sub

    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
        'Guardamos la nueva entrega o modificamos la entrega seleccionada

        If modificar Then
            'Si se está modificando una entrega
            If EntregaDAO.actualizarEntrega(EntregaId, CronogramaPresentacionId, dtpFechaLimite.Value, cboNroEntrega.SelectedValue) Then
                MsgBox("La entrega fue actualizada correctamente.")
            End If
        Else
            'Si se está agregando una nueva entrega
            'Verificamos si ya existe una entrega con ese número de entrega
            Dim cantEntregas As Integer = EntregaDAO.idEntrega(CronogramaPresentacionId, cboNroEntrega.SelectedValue)
            If cantEntregas = 0 Then
                If EntregaDAO.insertarEntrega(CronogramaPresentacionId, dtpFechaLimite.Value, cboNroEntrega.SelectedValue) Then
                    MsgBox("La entrega fue creada correctamente.")
                End If
            Else
                MsgBox("Ya existe una entrega con ese número de entrega.", MsgBoxStyle.Exclamation, "Atención")
            End If
        End If

        Me.DialogResult = Windows.Forms.DialogResult.OK
    End Sub

    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
    End Sub

    Private Sub frmAgregarEntrega_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
        Me.Dispose()
    End Sub
End Class
